package q1;

import com.alibaba.fastjson.JSON;

/**
 * 管理类，管理节点
 * @author：涂有
 * @date 2017年12月1日 下午5:31:57
 */
public class Tree {

	private Node root;

	public Node getRoot() {
		return root;
	}

	public void setRoot(Node root) {
		this.root = root;
	}
	
	public void add(Node node){
		if(node.getParentId() < 0){
			return;
		}else if(node.getParentId() == 0){
			root = node;
		}else{
			add(root, node);
		}
	}
	
	/**
	 * 新增一个节点
	 * @author：涂有
	 * @date 2017年12月1日 下午5:32:21
	 * @param from 从哪个节点向下找
	 * @param node 需要插入的节点
	 */
	private void add(Node from, Node node){
		if(node.getParentId() == from.getId()){
			from.addChild(node);
		}else{
			for(Node c : from.getChildren()){
				add(c, node);
			}
		}
	}
	
	@Override
	public String toString() {
		return JSON.toJSONString(root);
	}
}
